Pod
Pod 是 Kubernetes 中最小的可部署單位,它可以包含一個或多個容器,共享相同的網絡命名空間、IP 地址和存儲卷。Pod 被視為應用程序的邏輯主機,容器共享相同的生命周期,它們可以共享資源和通信。
Pod的生命周期
Pod的生命周期包括以下幾個關鍵階段:
- Pending (等待中): 當建立一個 Pod 時,它進入等待中的狀態。在此階段,Kubernetes 正準備 Pod 的環境,包括資源分配、網絡設置等。
- Running (運行中): 一旦Pod成功分配了所需的資源,它就進入運行中的狀態。在此階段,Pod中的容器開始運行應用程序。
- Succeeded(成功完成): 如果Pod中的所有容器都成功完成了它們的工作,Pod將進入成功完成的狀態。這通常在批處理工作中使用。
- Failed (失敗): 如果Pod中的一個或多個容器運行失敗,Pod將進入失敗的狀態。您可以通過檢查Pod的事件 (Events) 來瞭解失敗的原因。
- Unknown (未知): 如果Kubernetes無法確定Pod的狀態,則它進入未知的狀態。
yaml
一份最簡單關於 pod yaml 檔
apiVersion: v1
kind: Pod
metadata:
name: my-pod
spec:
containers:
- name: nginx-container
image: nginx:latest
- apiVersion和kind字段指定了配置的類型,這裡是一個Pod。
- metadata部分包含有關Pod的元數據,如名稱和標籤。
- spec部分包含了Pod的規格,包括其中運行的容器。
在上述 example 中,我們定義了一個名為 my-pod 的 Pod,它包含一個名為 nginx-container的容器,使用最新版本的Nginx映像。
您可以使用 kubectl apply -f pod-config.yaml
命令將此配置文件應用於Kubernetes集群。Kubernetes將會創建並管理該Pod的生命周期。